package ar.com.gals.repository;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;

import ar.com.gals.domain.Localidad;

public class LocalidadRepository extends AbstractRepository<Localidad> {

	public LocalidadRepository(Session session) {
		super(session, Localidad.class);
	}

	
	@SuppressWarnings("unchecked")
	public List<Localidad> getByProvincia(int provinciaId) {
		
		Criteria criteria = this.session.createCriteria(domain);
		
		Criteria criteriaProvicia = criteria.createCriteria("provincia");
		criteriaProvicia.add(Restrictions.idEq(provinciaId));
		
		criteria.add(Restrictions.isNull("fechaDelete"));
		criteria.addOrder(Order.asc("nombre"));
		criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
		
		return (List<Localidad>) criteria.list();
	}

}
